supports folded text, compilation according to file_extension, default
file_extensions, EditKeys, configurable menus, and several keyboard shortcuts.
XE.Open ^ (name[.ext] | "^") Open a text
XE.SysOpen ^ [defY] (name[.ext] | "^") Open a tool (at y-coord)
XE.Comp [options] Compile viewer (containing folds) in main
frame with options
| "*" or marked viewer
| {file [options]} or list of files (containing folds) with options
| "^"
XE.Err Locate next error in main frame or marked viewer
XE.Search [marked viewer] Search with Edit.Search or with
FoldElems.Search if viewer is marked
XE.Compiler [M[.P] Ext ErrFile| "^"] Set compiler for files with
extension Ext using error_
file ErrFile, if no parameter
list compiler-ext pairs
XE.GetHandler see below
Special mouse behavior:
The right mouse button is used to select text. One click selects a
character, a second click on the same location selects a word (e.g.
hello123), a third click a name (e.g. Oberon.Par.frame), a fourth the
whole line. To select a line immediately, click twice on the end of the
line or on any special or blank character within the line.
The middle button with right interclick tries to open the underlined word
with Doc.Open. Thereby, documents can be opened by simply
middle/right clicking at them.
Clicking into selected text with the middle button and then dragging the mouse to a different position/viewer will move the text with a left interclick or copy the text with a right interclick. The caret gets drawn at the target position.
Special keys:
CR carriage return with automatic indentation
LF carriage return without indentation
Cursor up move caret one line up
Ctrl-P same as Cursor up
Cursor down move caret one line down
Ctrl-N same as Cursor down
Backspace delete character to the right of caret
Ctrl_D same as Backspace
Ctrl_F move one word forward
Ctrl_B move one word backward
Ctrl_W move to beginning of (previous) line
Ctrl_E move to end of (next) line
Ctrl_K delete to end of line/delete CR at end of line
Ctrl_T swap previous two characters
Ctrl_X move selection to caret
XE.Open tries .Mod and .Text as default extensions. If both fail, then it retries with the given name without extension.
E.g. XE.Open x.P tries x.P, x.P.Mod, x.P.Text, x.Mod, and x.Text.
XE.SysOpen tries .Tool as a default extension (accepts default Y_coordinate).
E.g. XE.SysOpen System tries System and System.Tool.
XE uses XE.Menu.Text for menus. The first line is the menu for user viewers, the second line is for tool viewers.
XE.Compiler appends .Compile if the first name is not a command and appends Errors.Text if the errorfile has no extension (default are Compiler.Compile and OberonErrors.Text for compiling all files when using XE.Comp).
Examples:
XE.Compiler NOP2
-> NOP2.Compile for * using OberonErrors.Text
XE.Compiler LSC Lola Lola
-> LSC.Compile for *.Lola using LolaErrors.Text
XE.Compiler Assembler.Assemble Asm Assembler
-> Assembler.Assemble for *.Asm usingAssemblerErrors.Text
XE.Compiler ~
list all compiler - extension - error file pairs
XE.GetHandler to get a procedure variable containing the Handler procedure of XE without importing it. Use this command via Oberon.Call with a new Oberon.Par. The handler is put into Oberon.Par.frame.handle, if and only if Oberon.Par.pos = XE.GetHandlerKey.